import request from '@/config/axios'

// 外部请求日志 VO
export interface RequestSyncLogVO {
  id: number // 日志主键
  mid: number // 用户编号
  requestMethod: string // 请求方法名
  requestUrl: string // 请求地址
  requestParams: string // 请求参数
  responseBody: string // 响应结果
  beginTime: Date // 开始请求时间
  endTime: Date // 结束请求时间
  duration: number // 执行时长
}

// 外部请求日志 API
export const RequestSyncLogApi = {
  // 查询外部请求日志分页
  getRequestSyncLogPage: async (params: any) => {
    return await request.get({ url: `/infra/request-sync-log/page`, params })
  },

  // 查询外部请求日志详情
  getRequestSyncLog: async (id: number) => {
    return await request.get({ url: `/infra/request-sync-log/get?id=` + id })
  },

  // 新增外部请求日志
  createRequestSyncLog: async (data: RequestSyncLogVO) => {
    return await request.post({ url: `/infra/request-sync-log/create`, data })
  },

  // 修改外部请求日志
  updateRequestSyncLog: async (data: RequestSyncLogVO) => {
    return await request.put({ url: `/infra/request-sync-log/update`, data })
  },

  // 删除外部请求日志
  deleteRequestSyncLog: async (id: number) => {
    return await request.delete({ url: `/infra/request-sync-log/delete?id=` + id })
  },

  // 导出外部请求日志 Excel
  exportRequestSyncLog: async (params) => {
    return await request.download({ url: `/infra/request-sync-log/export-excel`, params })
  }
}